from typing import Optional
from pydantic import BaseModel, Field


class HuggingFaceEmbeddingConfig(BaseModel):
    """
    用于配置 LlamaIndex HuggingFaceEmbedding 的动态参数模型。
    """
    model_name: str = Field(..., description="要使用的 HuggingFace 模型名称, 例如: 'BAAI/bge-large-zh-v1.5'")
    device: Optional[str] = Field(None, description="运行模型的设备, 例如 'cpu', 'cuda'。如果为 None，则自动选择。")

    class Config:
        frozen = True 